package team.pwy.service;

import team.pwy.pojo.entity.Seat;

import java.util.List;

public interface SeatService {
    List<Seat> findByHallId(int sessionId);

    int updateByRC(int row, int column);

    List<Seat> findByIds(List<Integer> ids);

    List<Seat> findByStatus(int status);

    /**
     * @param userId:    用户ID
     * @param seatId:    座位ID
     * @param status:    状态码
     * @param sessionId: 场次ID
     * @author DaiLing
     * @description 当用户进行选座
     * @date 2024/2/1 15:10
     */
    void updateSeatStatus(int userId, int seatId, int status, int sessionId);

    /**
     * @param userId:          用户ID
     * @param allSelectedSeatId: 该用户所有已选的ID
     * @param sessionId:       场次
     * @author DaiLing
     * @description 用户离开页面，更新已选的座位状态
     * @date 2024/2/1 15:48
     */
    void updateSeatEnd(int userId, List<Integer> allSelectedSeatId, int sessionId);

    /**
     * @param sessionId: 场次ID
     * @return Result
     * @author DaiLing
     * @description 用户重新进入页面
     * @date 2024/2/1 17:02
     */
    List<Integer> updateSeatFirst(int sessionId);
}
